package com.welink.cmp.statemachine.machine;

import lombok.Getter;
import lombok.ToString;

/**
 * 主机状态枚举类
 * 描述主机在不同生命周期中的状态
 */
@Getter
@ToString
public enum HostState {

    /**
     * 主机处于入库状态
     */
    IN_STOCKED(1,"入库"),

    /**
     * 主机已经出库
     */
    DISPATCHED(9,"出库"),

    /**
     * 主机已经上架
     */
    MOUNTED(2,"上架"),

    /**
     * 主机处于空闲状态
     */
    IDLE(4,"空闲"),

    /**
     * 主机已经分配
     */
    ALLOCATED(5,"分配"),

    /**
     * 主机处于投产状态
     */
    ACTIVE(6,"投产"),

    /**
     * 主机发生故障
     */
    FAULTY(9,"故障"),

    /**
     * 主机已经报废
     */
    RETIRED(0,"报废");

    HostState(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    private int code;

    private String desc;

}